home *** CD-ROM | disk | FTP | other *** search
/ Aminet 48 / Aminet 48 (2002)(GTI - Schatztruhe)[!][Apr 2002].iso / Aminet / util / cli / ImageDTInfo.lha / ImageDTInfo.bas < prev    next >
Encoding:
BASIC Source File  |  2002-02-05  |  4.5 KB  |  150 lines

  1. ' ===========================================================================
  2. '  ImageDTInfo by © 1999-2002 Dámaso D. Estévez
  3. '     Fido : 2:348/613.44
  4. '     Inet : amidde@arrakis.es
  5. '      WWW : http://www.arrakis.es/~amidde/
  6. '
  7. ' ImageDTInfo.bas (main code/código principal)
  8. '
  9. '         NOTA: El fichero GetCString.bas original del paquete HBasic
  10. '       lo he modificado para que incluya la función del usuario liStr$()
  11. '                 y el dimensionado de la matriz localeInfo&().
  12. '                             --------------
  13. '         NOTE: I've modified the original HBasic's GetCString.bas file
  14. ' for to include the liStr$ user function and & the DIM localeInfo&() command
  15. ' ===========================================================================
  16. '      Created for use with FWCalendar Arexx script written by Ron Goertz
  17. '         and as a little coding exercise with (Hisoft|Maxon) Basic 2.
  18. '             You can re-use freely this code in your own works.
  19. '                                ------------
  20. '        Creado para usar con el guión ARexx FWCalendar de Ron Goertz
  21. '   y como un pequeño ejercicio de programación con (Hisoft|Maxon) Basic 2.
  22. '        Puede reutilizar libremente este código en sus producciones.
  23. ' ===========================================================================
  24.  
  25. REM $NOWINDOW
  26.  
  27. ' ------------- Opening libraries -------------
  28. ' -- (OS datatypes system appears from v39) ---
  29.  
  30. ' ---------- Apertura de bibliotecas ----------
  31. ' --- (el sistema de tipos de datos aparece ---
  32. ' --- a partir de la versión 39 del S.O. ;) ---
  33. ' ---------------------------------------------
  34.  
  35. ' CacheClearE(), AllocMem(), Freemem()
  36. LIBRARY OPEN "exec.library"
  37.  
  38. ' OpenCatalogA(), CloseCatalog()
  39. LIBRARY OPEN "locale.library",38&
  40.  
  41. ' ----- Locale support ------
  42. ' ---- Prestación local -----
  43. ' ---------------------------
  44. REM $include BH:BLib/GetCString.bas
  45. REM $include Locale/ImageDTInfo_Locale.bc
  46. REM $include Locale/ImageDTInfo_Locale.bas
  47.  
  48. localeInfo&(0) = LIBRARY("locale.library")
  49. IF localeInfo&(0) <> NULL& THEN
  50.     localeInfo&(1) = OpenCatalogA&(NULL&, SADD("ImageDTInfo.catalog" + CHR$(0)), NULL&)
  51. END IF
  52.  
  53. ' - Loading my modules with functions/subroutines -
  54. ' - Cargando mis módulos con funciones/subrutinas -
  55. ' -------------------------------------------------
  56. REM $include BH:BLib/AST_generic01.bas     ' SGetARg, FixPath, ChangeExt
  57. REM $include BH:BLib/AST_filesystem01.bas  ' MKD, Exists
  58. REM $include BH:BLib/AST_filesystem02.bas  ' CopyFile
  59. REM $include Specific/IDTI_specific.bas    ' InfoImgFile
  60.  
  61. ' --------- Shared vars for error handling --------
  62. ' -- Variables compartidas de gestión de errores --
  63. ' -------------------------------------------------
  64. en& = 0&
  65. em$ = ""
  66.  
  67. ' ---- Calling the main routine ----
  68. ' - Llamando a la rutina principal -
  69. ' ----------------------------------
  70. CALL main(COMMAND$)
  71.  
  72. IF LIBRARY("locale.library") <> NULL& THEN
  73.     CloseCatalog localeInfo&(1)
  74. END IF
  75.  
  76. LIBRARY CLOSE
  77.  
  78. END
  79.  
  80. '   =====================================================================
  81. '                    "Main"subroutine / Sub-rutina "Main"
  82. '   =====================================================================
  83.  
  84. SUB main(cad$)
  85. SHARED en&,em$
  86. LOCAL  ver$,tmp$
  87.  
  88.     ' -- Variables initialization ---
  89.     ' - Inicialización de variables -
  90.     '--------------------------------
  91.  
  92.     ' Copyright string / Cadena de autoría
  93.     ver$ = "$VER: ImageDTInfo 2.04 (5.2.02) © Dámaso D. Estévez <ast_dde@yahoo.es> "+CHR$(0)
  94.  
  95.     ' ---- Asking the first argument ----
  96.     ' - Solicitando el primer argumento -
  97.     ' -----------------------------------
  98.     cad$ = SGetArg$(cad$,1,liStr$(MSG_TEMPLATE&))
  99.  
  100.     ' - There is the argument? -
  101.     ' ---- ¿Hay argumento? -----
  102.     ' --------------------------
  103.     IF cad$ <> "" THEN
  104.  
  105.         tmp$ = InfoImgFile$(cad$)
  106.  
  107.         IF tmp$ <> "" AND en& = 0 AND em$ = "" THEN
  108.  
  109.             PRINT tmp$
  110.  
  111.         ELSE
  112.  
  113.             ' --------- If there was some error, -----------
  114.             ' ------ prints the error code (& message) -----
  115.  
  116.             ' - Si se ha producido algún error, se imprime -
  117.             ' ------ el código (y el mensaje de error) -----
  118.             ' ----------------------------------------------
  119.  
  120.             PRINT liStr$(ERROR_TITLE&);
  121.             IF en& <> 0 THEN
  122.                 PRINT " - ";liStr$(ERROR_CODE_INFO&);en&
  123.             ELSE
  124.                 PRINT
  125.             END IF
  126.  
  127.             PRINT liStr$(ERROR_ARG_INFO&)": `";cad$;"'"
  128.  
  129.             IF em$ <> "" THEN
  130.                 PRINT em$
  131.             END IF
  132.  
  133.         END IF
  134.  
  135.     ELSE
  136.  
  137.         ' -------- The user didn't include a filename as argument ----------
  138.         ' - El usuario no ha incluído un nombre de fichero como argumento --
  139.         ' ------------------------------------------------------------------
  140.         PRINT
  141.  
  142.         PRINT RIGHT$(ver$,LEN(ver$)-6)
  143.         PRINT
  144.         PRINT liStr$(ERROR_ONLY_ONE_ARG&)
  145.         PRINT
  146.  
  147.     END IF
  148.  
  149. END SUB
  150.